<!--
 * @FilePath     : /study_code/layui/12-6-8.html
 * @Description  : form.on() checkbox 复选框交互
 * @Date         : 2025-04-07 16:07:21
 * @Author       : Fang YingGui
 * @LastEditors  : fangyinggui 18715384437@163.com
 * @LastEditTime : 2025-04-07 16:58:07
-->

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>documentName</title>
    <link rel="stylesheet" href="/layui/dist/css/layui.css" />
  </head>
  <body>
    <form class="layui-form">
      <h2>2、触发checkbox复选框选中/取消的事件</h2>
      <div class="layui-form-item">
        <label class="layui-form-label">复选框</label>
        <div class="layui-input-block">
          <input type="checkbox" name="like[write]" title="写作" lay-filter="hobby" value="shufa" />
          <input type="checkbox" name="like[read]" title="阅读" lay-filter="hobby" value="zazhi" />
        </div>
      </div>
    </form>

    <script src="/layui/dist/layui.js"></script>
    <script>
      layui.use(['form'], function () {
        var form = layui.form,
          $ = layui.$

        /**
         * @brief: 触发checkbox复选框选中/取消的事件；
         * @param {Sting} checkbox(hobby),
         * #select 事件
         * #filter 触发事件的表单过滤；
         * @param {Function} callback(data), 事件触发时调用的回调；
         * #data, 事件触发时获取当前表单元素及数据；
         * data.elem, // 得到表单原始DOM对象
         * $data.elem.value, // !是否被选中，true或者false
         * $data.value, // !复选框value值（始终是value值，没有的话是 'on'）
         * data.othis, // 得到美化后的DOM对象
         * !1、注意区分 选中状态 (data.elem.checked) 和 表单 value 值 (data.value)；
         * !2、value 值为空时，默认是 'on'；
         */
        // form.on('checkbox(hobby)', callback(data));
        form.on('checkbox(hobby)', function (data) {
          // console.log(data.elem);
          console.log(data.elem.checked)
          console.log(data.value)
          // console.log(data.othis);
        })
      })
    </script>
  </body>
</html>
